2025/26 Undergraduate Module Catalogue

COMP2850 Software Engineering

40 Credits Class Size: 350

Module manager: Amy Brereton
Email: a.m.brereton@leeds.ac.uk

Taught: Semesters 1 & 2 (Sep to Jun) View Timetable

Year running 2025/26

Pre-requisites

COMP1850 Programming
COMP1860 Building our Digital World: Computer Systems & Architecture
COMP1870 Theoretical Foundations of Computer Science I

Co-requisites

COMP2860 Beyond the Core: Advanced Hardware, Operating Systems and Pa
COMP2870 Theoretical Foundations of Computer Science II

This module is not approved as a discovery module

Module summary

Software engineering involves the systematic design, development, testing, and maintenance of computer programs and applications, utilising programming languages, algorithms, and structured methodologies to create efficient and reliable software solutions. This module forms part of the core of the Computer Science curriculum. This course establishes the fundamental principles of a systematic approach to software engineering. Through hands-on experiences, students gain proficiency in contemporary software engineering practices whilst also developing an understanding of the subject. This module fosters practical experiences in engineering analysis and design, shedding light on the societal impact of engineering. It serves as a cornerstone, equipping students with the knowledge and skills necessary for a successful career in the dynamic field of Computer Science.

Objectives

By the end of this module, students will demonstrate a comprehensive understanding of software engineering principles and practices. They will be able to systematically design, develop, test, and maintain computer programs and applications using programming languages, algorithms, and structured methodologies to create efficient and reliable software solutions. Furthermore, students will develop practical skills in engineering analysis and design, gaining insight into the societal impact of engineering. This module will equip students with the knowledge and competencies necessary for a successful career in the dynamic field of Computer Science.

Learning outcomes

On successful completion of this module a student will have demonstrated the ability to:

1. apply subject specific knowledge and engineering design principles to design and implement software artefacts which satisfy complex real-world requirements, considering accessibility and inclusive design principles (C1, M1, C2, M2, C5, M5, C6, M6, C11, M11)
2. select and interpret sources of information to solve complex real-world problems. (C4, M4)
3. use appropriately selected tools and processes to design, test, analyse and evaluate computer systems and identify limitations (C12, M12, C13, M13)
4. identify and analyse ethical and sustainability concerns when designing and implementing software and make reasoned decisions informed by ethical frameworks and codes of conduct to minimise adverse impacts. (C7, M7, C8, M8)
5. identify and interpret risk assessing the potential impact and plan mitigation approaches. (C9, M9, C10, M10)
6. apply and discuss the principles of quality management in software engineering and systems design. (C14, M14)
7. Operate effectively as a member of a team is various software engineering roles. (C16, M16)
8. apply and discuss engineering management principles demonstrating awareness of commercial context, project and change management, and relevant legal matters. (C15, M15)
9. communicate effectively complex topics related to programming and software engineering to technical and non-technical audiences. (C17, M17)
10. reflect on their level of mastery of subject knowledge and skills and plan for personal development. (C18, M18)

Skills Learning Outcomes

a. Technical
b. Communication
c. Teamwork
d. Time management
e. Problem solving
f. Active learning
g. Reflection
h. Critical thinking
i. Academic writing
j. Ethics

Syllabus

Software Engineering
- Teamwork
- Tools and Environments
- Requirements Gathering
- Software Design
- Software Verification and Validation
- Deployment and Maintenance

Software Development Fundamentals
- Object-Oriented Programming
- Other Programming Paradigms
- Logical programming
- Functional programming
- Event driven programming
- Web application development
- Human Computer Interaction
- Understanding Users
- Ethical Design
- Equitable Design
- Designing Interfaces
- Evaluating Interfaces

Methods of assessment
The assessment details for this module will be provided at the start of the academic year

Teaching Methods

Delivery type Number Length hours Student hours
Laboratory 14 2 28
Poster session 1 3 3
Supervision 2 0.5 1
Group learning 8 1 8
Lecture 9 1 9
Lecture 20 2 40
Seminar 6 2 12
Private study hours 299
Total Contact hours 101
Total hours (100hr per 10 credits) 400

Opportunities for Formative Feedback

Students will have an opportunity for continuous feedback on all components of the portfolio via tutorials, personal tutorials and via additional support activities. Students will have regular portfolio checkpoints to ensure students are progressing towards the assessment objectives.

Reading List

The reading list is available from the Library website

Last updated: 30/04/2025

Errors, omissions, failed links etc should be notified to the Catalogue Team